Wireless sensor networks (WSNs) are used in a variety of applications, including industrial process monitoring and control, environment monitoring, military systems, traffic monitoring, health care, etc. In general, it is desirable for the sensor nodes of a WSN to operate after deployment for as long as possible. Many sensor nodes are battery powered, and the operating life of the sensor node is limited by the life of the battery. To overcome this limitation, in an increasing number of WSN applications, sensor nodes are powered via harvesting of ambient energy such as wind, solar, thermal, vibration or radio frequency (RF). The amount of energy available from energy harvesting, at a given time, may be small relative to that available from a battery.